Структура аудио mpeg-файла

-------------------------------------------------------------------------

Файл

Файл состоит из одного или нескольких фреймов. Каждый фрейм содержит "заголовок фрейма" и "данные фрейма".

--------------------------------------------------------------------------

Длина фрейма

Длина фрейма зависит от формата данного mpeg-файла и может быть разной у разных фреймов. Фрейм заканчивается перед следующим синхронизирующим заголовком (см. заголовок фрейма).

--------------------------------------------------------------------------

Заголовок фрейма

(англ. frame header)

Заголовок фрейма аудио mpeg-файла состоит из 4 байт, которые располагаются в начале фрейма. Заголовки не обязательно должны быть одними и теми же у всех фреймов (т.е. битовое заполнение заголовков может меняться с каждым фреймом).

Заголовок фрейма имеет следующий вид:

БАЙТЫ

0

1

2

3

Двоич. Значение

1111 1111

1111 abbc

dddd eefg

hhjj kmpp

 

где:

1 - синхронизирующий заголовок (англ. sync header)

a - версия

b - layer

c - защита от ошибок

d - индекс битрейта (ширины потока)

e - индекс частоты (англ. sample rate index)

f - заполнение (англ. рadding)

g - расширение (англ. еxtension)

h - канальный режим (англ. channel mode)

j - режим расширения (англ. mode extension)

k - охрана авторских прав

m - оригинал

p - резкость (англ. emphasis)

 

Ниже перечислены возможные значения перечисленных параметров.

--------------------------------------------------------------------------

1 - синхронизирующий заголовок

должен быть вида:

11111111 1111xxxx ($fffx)

--------------------------------------------------------------------------

a - версия

0 = mpg-ii

1 = mpg-i

--------------------------------------------------------------------------

b - layer

0 = layer-1

3 = layer-2

2 = layer-3

--------------------------------------------------------------------------

c - защита от ошибок

0 = вкл

1 = выкл

--------------------------------------------------------------------------

d - битрейт

mpg-i

 

ИНДЕКС (hex)

bps@38kHz

bps@44.1kHz

bps@48kHz

$0

0

0

0

$1

32

32

32

$2

64

48

40

$3

96

56

48

$4

128

64

56

$5

160

80

64

$6

192

96

80

$7

224

112

96

$8

256

128

112

$9

288

160

128

$a

320

192

160

$b

352

224

192

$c

384

256

224

$d

416

320

256

$e

448

384

320

 

 

mpg-ii

 

ИНДЕКС (hex)

bps@16kHz

bps@22kHz

bps@24kHz

$0

0

0

0

$1

32

8

8

$2

48

16

16

$3

56

24

24

$4

64

32

32

$5

80

40

40

$6

96

48

48

$7

112

56

56

$8

128

64

64

$9

144

80

80

$a

160

96

96

$b

176

112

112

$c

192

128

128

$d

224

144

144

$e

256

160

160

 

--------------------------------------------------------------------------

e - частота (sample rate)

ИНДЕКС

Версия mpg-i

Версия mpg-ii

0

44.1kHz

22kHz

1

48kHz

24kHz

2

38kHz

16kHz

 

--------------------------------------------------------------------------

f - заполнение (padding)

1 = имеются неиспользованные биты (требуется заполнение)

0 = все биты фрейма используются

--------------------------------------------------------------------------

g - расширение (extension)

0 = нет

1 = приватное (англ. private)

--------------------------------------------------------------------------

h - канальный режим

0 = стерео

1 = joint stereo

2 = dual channel (двойной канал)

3 = моно

--------------------------------------------------------------------------

j = режим расширения (mode extension)

При кодировании в режиме joint stereo, этот параметр определяет, какой полосой частот оно ограничивается.

ИНДЕКС

Layer-1&2

Layer-3

0

4

0

1

8

4

2

12

8

3

16

16

 

--------------------------------------------------------------------------

k - охрана авторских прав

0 = нет

1 = да

--------------------------------------------------------------------------

m - оригинал

0 = нет

1 = да

--------------------------------------------------------------------------

p - резкость

0 = нет

1 = 50/15 микросекунд

3 = CITT j.17

--------------------------------------------------------------------------

Hosted by uCoz